域DNS信息收集一、概述在域内渗透测试中,获取DNS记录是一项重要的信息收集工作,通常分为两种应用场景:高权限场景:已获得域管理员权限进行后渗透时,获取DNS记录便于进一步定位目标、绘制网络拓扑低权限场景 安装adidnsdump执行以下命令安装adidnsdump:执行DNS记录收集使用以下命令通过Linux跨Windows域获取DNS信息:或者直接通过python调用对应的adidnsdump.py进行信息收集 四、使用PowerShell模块进行域信息收集域信息收集一般可以通过net(MS-SAMR)、LDAP、RSAT等方法实现,这里重点说明RSAT的使用方法。 (三)使用PowerShell查询域信息成功导入模块后,可以使用以下常用命令进行域信息收集:查询域用户信息查询计算机信息查询域组信息查询组织单位(OU)五、总结本文介绍了在不同权限场景下获取域DNS信息的多种方法 获取DNS信息后,应结合其他信息收集手段,全面评估目标网络架构,为后续攻击路径规划提供依据。
收集域内DNS信息 使用活动目录集成的DNS服务,任何域内用户都有权限查询域内所有的DNS记录。在活动目录数据库内,所有的DNS数据都存储在如下条目中 里面的每一个条目,都是域内的一个DNS记录。 adidnsdump 这是一个用pythoh实现的查询域内DNS记录的脚本,直接使用如下命令即可安装。 安装完成后,即可使用。使用时需提供一个有效的域用户名密码即可。 如果是通过代理查询的话,需要加--dns-tcp参数标志通过TCP执行DNS查询。 SharpAdidnsdump 这是一个用C#实现的查询域内DNS记录的工具,在域内机器使用,直接指定域控ip即可使用。 其查询DNS记录功能如下:
一、域DNS信息收集 在域内获取DNS记录分为两种情况:一种是拥有了域管理员权限进行后渗透时,获取DNS记录便于下一步寻找目标;另一种是进入内网后,因为权限较低,需要获取DNS记录以寻找下一步的渗透方向进行权限提升 2) 利用LDAP通过普通域用户获取域内DNS信息。首先通过LDAP查询获得DNS记录,对二进制的DNS记录进行解码,获得实际内容。 Linux跨Windows域获取DNS信息,如图1-8所示 注意如果通过Socks5连接,配置本地Kali的proxychains即可。 3.使用PowerShell模块进行域信息收集 域信息收集一般可以通过net(MS-SAMR)、LDAP、RSAT等方法实现,这里重点说一下RSAT。 导入模块可以实现PowerShell模块进行域信息收集。
域内DNS信息收集 在一个大型的内网环境当中,如果我们在不确定目标资产定位在哪里我们就可以通过dns去定位,当然也可以通过活动目录集成的dns服务。 _msdcs.contoso.com注册记录是什么,dns就会返回所有的域控。 dnscmd dnscmd.exe . /EnumRecords redteam.local . dnscmd /zoneexport redteam.local redteam.local.dns.txt SharpAdidnsdump 这里我们也可以通过获取域内机器然后通过Dns.GetHostEntry computername = r.Properties["cn"][0].ToString(); IPHostEntry hostInfo = Dns.GetHostEntry
文档演示ip域名已经本人授权 dnsenum DNSenum是一款非常强大的域名信息收集工具。它能够通过谷歌或者字典文件猜测可能存在的域名,并对一个网段进行反向查询。 它不仅可以查询网站的主机地址信息、域名服务器和邮件交换记录,还可以在域名服务器上执行axfr请求,然后通过谷歌脚本得到扩展域名信息,提取子域名并查询,最后计算C类地址并执行whois查询,执行反向查询, 的连接超时时间,默认为10s(时间单位:秒) --threads [value] 查询线程数 -v, --verbose 显示所有的进度和错误消息 -o ,--output [file] 输出选项,将输出信息保存到指定文件 指定字典文件,可以换成 dns-big.txt 也可以自定义字典 dig dig是一个DNS查询工具,这个工具是一个DNS转换工具 常见使用方法 我是不加参数的直接 dig 后面加上域名地址 dig 类型,例如A\MX\PRT -x ip 指定DNS你想查询,输入ip得到域名 -4 使用ipv4 -6 使用ipv6
System error 5就表示权限不够;最后一种就是返回“找不到域WORKGROUP的域控制器”表示当前网络环境为工作组而不存在域; ipconfig /all 查看当前网络的DNS,一般在内网 DNS服务器即为域控,很少将DNS与域控分开,除非内网很大存在多域环境; systeminfo 系统信息当中含有两项:Domain和Logon Server,Domain即为域名,Logon Server ; 域内信息收集 net group /domain 获得所有域用户组列表 net group “domain admins” /domain 获得域管理员列表 net group “enterprise net user someuser /domain 获得指定账户someuser的详细信息 net accounts /domain 获得域密码策略设置,密码长短,错误锁定等信息 nltest /domain_trusts 在内网渗透过程中,说白了就是不断进行信息收集,扩大攻击面,除了以上收集的信息外,我们最关注的也是当前服务器上的所有系统账号密码,这一般有三种情况,首先是服务器本地账户,其次是域用户,当然如果有狗屎运的话抓到域管的账号密码也不是没有可能的
★.1host:DNS信息 参数: 一般情况下,host查找的是A,AAAA,和MX的记录 案例: DNS服务器查询 host -t ns 域名 A记录和MX记录查询 host 域名(host -t 通俗来说A记录就是服务器的IP,域名绑定A记录就是告诉DNS,当你输入域名的时候给你引导向设置在DNS的A记录所对应的服务器。 4.2Dig :DNS挖掘 参数: root@Kali:/home/dnt# dig -h Usage: dig [@global-server] [domain] [q-type] [q-class] 记录和CNAME记录 帮助文档:man nslookup 我们看看windows里面的帮助文档(明了一点) 常用命令:nslookup 0.设置默认服务器 server 8.8.8.8 1.简单查询域名信息 ,当你输入域名的时候给你引导向设置在DNS的A记录所对应的服务器) 4.查询域名MX记录(邮件记录) > set type=mx > cnblogs.com 5.查询域名ns记录(域名所使用的DNS
学习目标 DNS、子域名、C段、邮箱、指纹、社工库、钓鱼攻击 DNS(Domain Name system 域名系统) 提供域名与IP地址之间映射 大型企业网站运转核心 收集原因 确定企业网站运行规模 可以从DNS中收集子域名、IP等 控制网站解析 子域名 收集原因 确定企业网站运行数量,从而进行下一步(安全评估)准备 获得不同子域名所映射的IP,从而获得不同C段 寻找更大的安全脆弱点和面 C段 在IP www.xxx.com Whois域名信息查询 Whois协议 : 查询域名的IP以及所有者等信息的传输协议 子域名收集 子域名枚举可以在测试范围内发现更多的域或子域,这将增大漏洞发现的机率。 在同一个组织的不同域或应用程序中往往存在相同的漏洞 子域名收集方法 爆破 搜索引擎 域传送 在线网站 爆破 原理 : 通过字典匹配枚举存在的域名 Kali : subDomainsBrute 和 dnsmap 搜索引擎 原理 : 通过搜索引擎获取已经爬取的子域名 Site : xxx.cn 工具:theharvester 和 aquatone 域传送 DNS区域传送 (DNS zone transfer) 指的是一台备用服务器使用来自主服务器的数据刷新自己的域
众所周知,在对目标发起渗透之前,我们需要先进行信息收集。 信息收集是否详细很大程度上决定了我们渗透测试的成功率。 如果我们拿到的是一个域名,那么第一步就是对该域名进行解析。 今天就来看看利用kali,如何来收集DNS信息吧。 Part.1 域名解析流程 DNS解析过程 首先我们来看一下DNS的一些基础知识。 如果因为管理员的疏忽,没有设置权限管理,就可以拿到DNS服务器里面的主机记录。 Part.4 whois whois 通过whois命令,我们可以收集DNS的注册信息。 利用收集到的信息可以做一些社会工程学相关的东西。 以某域名为例: ? Part.5 DNS字典爆破 DNS字典爆破 kali自带很多DNS爆破工具,以fierce为例。 Part.6 结语 以上就是kali中我们可以用来进行DNS信息收集的一些工具了。大家都明白了吗?
目录 2.1 DNS信息收集 1 2.1.1 whois查询 3 2.1.2 域名基本信息查询 4 Dns服务器查询 4 a记录查询 区域传送漏洞 8 小结 11 2.1 DNS信息收集 从本节开始,我们从头开始,系统的学习基于Kali Linux的web应用渗透测试。 为了完成逆向域名解析,系统提供一个特别域,该特别域称为逆向解析域in-addr.arpa。 这样欲解析的IP地址就会被表达成一种像域名一样的可显示串形式,后缀以逆向解析域域 名"in-addr.arpa"结尾。 真正的问题发生在一个单位没有使用公用/私用DNS机制来分割外部公用DNS信息和内部私用DNS信息的时候,此时内部主机名和IP地址都暴露给了攻击者。
当获取了一台在域内的Windows服务器权限,就需要我们尽可能地去收集所能获取到的域的相关信息,收集的域的信息越多,拿下域控的成功率越高。 ---- 01、判断是否存在域 (1)一般我们在进行本机信息收集,查询IP网络或系统信息时,就很容易发现存在域控。 02、查找域控制器 (1)一般来说,域控服务器IP地址为DNS服务器地址,找到DNS服务器地址就可以定位域控。 (3)获取所有域用户列表 net user /domain (4)获取指定域用户bypass的详细信息 net user bypass /domain (5)查询域内置本地管理员组用户 net 域用户权限,能够获取的信息与用户权限有关,本地管理员用户无法查询。
一、内网信息收集概述 进入内网后,首先需要对当前网络环境进行判断: • 我是谁:当前机器的角色 • 这是哪:当前机器所处网络环境的拓扑结构 主要信息: 本机信息收集 基础信息: 内网网段信息,查看网卡信息收集内部地址段的信息 、VPN历史密码、Teamview历史密码等 其他用户session、3389和IPC$连接记录,各用户回收站信息、用户列表 host文件和DNS缓存信息 AV、补丁、进程、服务、端口、网络代理信息、软件列表 计划任务、账号密码策略和锁定策略、共享文件、web服务器配置文件 启动项、系统日志、Web服务器日志、防火墙规则 1.收集本机信息 手动收集信息 本机信息包括操作系统、权限、内网IP地址段、杀毒软件、 -->列出该域内分组 dsquery ou ------>列出该域内组织单位 dsquery server && net time /domain------>列出该域内域控制器 总结:域内信息收集的方法是进行域内渗透最重要的一步 ,在域内进行快速收集有用信息是内网渗透的关键。
localreconmodules -> 收集已安装的软件,易受攻击的软件,共享,网络信息,组,特权等等 检查典型的漏洞,如SMB签名,LLMNR中毒,MITM6,通过HTTP的WSUS 检查Powershell 事件日志中的凭证或其他敏感信息 收集浏览器凭证和历史记录 在注册表和文件系统中搜索密码 查找敏感文件(配置文件,RDP文件,Keepass数据库) 在本地系统上搜索.NET Binaries 可选:Get-Computerdetails domainreconmodules -> 收集各种域信息以进行手动检查 在说明字段中找到广告密码 搜索潜在的敏感域共享文件 枚举不受约束的委派系统/用户 生成猎犬报告 用于域系统的MS17-10扫描仪 适用于域系统的Bluekeep扫描仪 SQL Server发现和审核功能-PowerUpSQL MS-RPRN检查域控制器或所有系统 Grouper2的组策略审核 使用ADRecon在CSV文件(如果已安装
在拿到一台域环境内主机权限时,第一步要做的不是对内网进行扫描,探测等大规模攻击行为,而是通过一些内置命令获取域中的基本信息,本文主要以 powershell 命令为主要工具来了解如何获取域内信息,获取什么信息 获取根域信息 PS C:> [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest() Name: lab.adsecurity.org adsecurity,DC=org SchemaRoleOwner: ADSDC03.lab.adsecurity.org NamingRoleOwner: ADSDC03.lab.adsecurity.org 获取子域信息 主要功能是:帮助域控制器把其他域包含本域的资料收集起来,便于客户端查询。 ,都会在域控上有所记录,包括很多详细的信息,比如创建时间、修改时间、密码策略、操作系统版本信息等。
1、判断是否存在域 ipconfig 查看网关 IP 地址、DNS 的 IP 地址、域名、本机是否和 DNS 服务器处于同一网段。 2、收集域内基础信息 查看域 net view /domain C:\Users\daniel10> net view /domain Domain -------------------------- (NT 5) (Forest Tree Root) (Primary Domain) (Native) 此命令成功完成 3、收集域用户和管理员信息 查询域用户列表 net user /domain C ,查看当前是否有用户登陆,且不需要管理员权限 smb-os-discovery.nse:收集目标主机的操作系统、计算机名、域名、域林名称、NetBIOS机器名、NetBIOS域名、工作组、系统时间等信息 : 获取域内所有机器的详细信息 Get-NetOU: 获取域中的OU信息 Get-NetGroup: 获取所有域内组和组成员信息 Get-NetFileServer: 根据SPN获取当前域使用的文件服务器信息
SamrSearch 在impacket进行域渗透中,通过MS-SAMR协议实现net user和net group的功能,能方便在渗透过程中,如果域内没有可控的windows主机,但能通过web 手段获取到域内用户账号的情况下,来对用户权限、用户信息和组信息进行收集。 python3 samrsearch.py windows.local/test:aaa@172.16.178.9 -groupname "Domain Admins" 如果未添加参数,将对dump所有域内的用户信息
唉,因为实在懒得去记一些域渗透收集信息的命令,于是做了个小的插件,一键化,方便使用。 注意:exe为内存加载,需要.net4.0以上的环境。 效果如下: ? ?
1概述在ActiveDirectory域环境中,任何经过身份验证的用户或计算机都可以通过域控制器上的LDAP服务获取大量域信息。攻击者常在AD域渗透的侦察阶段利用LDAP进行信息收集。 本文介绍两种常用的LDAP信息收集方法。 IMG325<palign="center">图1-3导入BloodHound后数据库
3使用Ldapdomaindump自动化收集Ldapdomaindump是一款通过LDAP自动收集并解析域信息的工具 该工具可收集以下信息:域用户、组、计算机账户域策略(密码要求及锁定策略)域信任关系按组分类的域用户按操作系统排序的域计算机3.1执行信息收集在域外环境下,使用已知的普通域用户凭据即可连接域控制器。 IMG326<palign="center">图1-4在域外使用ldapdomaindump自动获取LDAP信息3.2查看收集结果生成的HTML文件可直接在浏览器中查看。主机A记录: 描述主机地址记录,在dns域名和ip地址之间建立映射关系语法: owner class ttl A IP_v4_address eg: host1.example.mircrosoft.com IN A 127.0.0.4 别名:【cname】 描述:别名,替补的dns域名。 subtype server_host_name eg:alianame.example.microsoft.com AFSDB 1 truename.example.mircorsoft.com 主机信息 【HINFO】 说明映射到特定dns主机名的cpu类型和操作系统的rfc-1700保留字符串类型 邮箱【MB】 用来将制定的邮箱名映射到主机的当前区域中的主机地址记录: owner ttl class mailbox.example.mircorsoft.com MB mailboxhost1.waxmple.mircorsoft.com 邮件交换类型【MX】 用来向特定邮件交换器提供消息路由,该主机作为制定DNS
0x00 收集域名信息 1. Whois查询 Whois是一个标准的互联网协议,可以收集网络注册信息,如域名、IP地址、服务商、域名拥有者、邮箱、电话、地址等。 备案信息查询 – ICP备案查询网:beianbeian.com – 天眼查:tianyancha.com 0x01 收集敏感信息 各种搜索引擎的黑客语法可以用来获取数据库文件、SQL注入、 cache 搜索Google里关于某些内容的缓存 0x02 收集子域名信息 1. 第三方聚合应用枚举 也可以用DNSdumpster网站(dnsdumpster.com)、在线DNS侦查和搜索工具挖掘出指定域潜藏的大量子域。 4. 域名系统 允许区域传送、DNS劫持、缓存投毒、欺骗 67/68 DHCP服务 劫持、欺骗 161 SNMP协议 爆破、搜集目标内网信息 – 特殊服务类 端口号 端口说明 攻击方式 2181 ZooKeeper